home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / code / p_serlib.sit / Serial Library Source Code / serial.resetBuffer.dll.c < prev    next >
C/C++ Source or Header  |  1989-07-27  |  2KB  |  90 lines

  1. /***********************************************************************/
  2. /*    
  3. /*    serial.resetBuffer.dll.c
  4. /*    by Atul Butte
  5. /*    Copyright ⌐ 1989 by Microsoft Corporation
  6. /*    All Rights Reserved
  7. /*
  8. /*    version 1.0
  9. /*    
  10. /*    
  11. /*    This CALL/REGISTER removes the buffer and resets it to the default.
  12. /*    
  13. /*    Excel usage:
  14. /*    
  15. /*    = Register( "serial library", "serial.resetBuffer", "IHJ" )
  16. /*    = Call( ref, portNumber, buffer )
  17. /*    
  18. /*    where
  19. /*        portNumber        = number of port (1 = modem, 2 = printer)
  20. /*        buffer            = pointer to current buffer
  21. /*
  22. /***********************************************************************/
  23.  
  24. /***********************************************************************/
  25. /*
  26. /*    D E F I N E S
  27. /*
  28. /***********************************************************************/
  29.  
  30. #define ROUTINE_NAME        "serial.resetBuffer"
  31. #define hNIL 0L
  32. #define pNIL 0L
  33.  
  34. /***********************************************************************/
  35. /*
  36. /*    I N C L U D E S
  37. /*
  38. /***********************************************************************/
  39.  
  40. #include "serial.h"
  41. #include "error.h"
  42. #include "get_port.h"
  43.  
  44. /***********************************************************************/
  45. /*
  46. /*    main
  47. /*
  48. /***********************************************************************/
  49.  
  50. pascal short main( port, pch )
  51.  
  52.     unsigned short            port;                    /* serial port to use */
  53.     char                    *pch;                    /* pointer to current buffer */
  54.     
  55. {
  56.     register OSErr            err;                    /* result code from Toolbox routines */
  57.     short                    refIn;                    /* reference number for input port */
  58.     short                    refOut;                    /* reference number for output port */
  59.     
  60.     RememberA0();
  61.     SetUpA4();
  62.     
  63.     err = get_port( port, &refIn, &refOut );
  64.     if( err != noErr ) {
  65.         display_error( "Illegal port number." );
  66.         RestoreA4( );
  67.         return( err );
  68.     }
  69.     
  70.     if( pch == pNIL ) {
  71.         display_error( "Buffer was never allocated." );
  72.     } else {
  73.         DisposPtr( pch );
  74.         if( MemError( ) != noErr ) {
  75.             display_error( "Error in disposing buffer." );
  76.         }
  77.     }
  78.     
  79.     err = SerSetBuf( refIn, 0, 0 );
  80.     if( err != noErr ) {
  81.         display_error( "Error in resetting buffer." );
  82.         RestoreA4( );
  83.         return( errSerialSetBuf );
  84.     }
  85.     
  86.     RestoreA4( );
  87.     return( noErr );
  88. }
  89.  
  90. #include "get_port.c"